\documentclass[12pt]{jbook}
\usepackage{infoedu}
\usepackage{infoedu99}
\usepackage{epic}
\usepackage{eepic}
\usepackage{dummyfloat}
%\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{ascmac}
%\usepackage{mediabb}
%\setcounter{secnumdepth}{4}


\def\Mmaru#1{{\ooalign{\hfil#1\/\hfil\crcr
\raise.167ex\hbox{\mathhexbox 20D}}}}


\begin{thisdocument}
\chapter{UNIXサーバの利用}

この章では，パソコンを端末にしてUNIX系OSで動作するサーバを使う方法について
紹介します．UNIX系OSはスーパーコンピュータやアンドロイド端末
\footnote{
アンドロイド端末は，UNIX系のLinux（リナックス）OSをカスタマイズしたカーネルOSに
ライブラリやフレームワークなどのミドルウェア、Dalvik仮想マシンなど搭載している．
開発ツールは，Google社からADT Plugin(Android Development Tools)が提供されおり，
主にjava言語によってアプリケーションを開発できる．
}
のOSとして使用されています．
スーパーコンピュータなどはパソコンと違い，複数の人が共同で利用するコンピュータです．
ここでは，アンドロイド端末のアプリの開発やスーパーコンピュータの使用を目指して，
UNIX系OSの利用の基本について解説していきます．
\hr
\section{パソコンとUNIXサーバ}
\subsection{パソコンとUNIXサーバの違い}
\index{UNIXさーば@UNIXサーバ}

「パソコン」と「UNIXサーバ」は，何が違うのでしょうか．大まか
な話をすると，パソコン(パーソナルコンピュータ)は，基本的に個人で占有
して使うために設計されたコンピュータです．それに対して，UNIXサーバは，
複数人が同時に作業できるように設計されたコンピュータです．細かく
言えば，どちらにも例外があり，さらに「大型コンピュータ」や「スーパーコ
ンピュータ」などの名前が入り乱れるため，パソコンとUNIXサーバの
厳密な定義は非常に困難です．あえてそれぞれのだいたいの特徴を挙げてみると，
次のようになります．

\begin{center}
\begin{tabular}{|l|p{5cm}|p{5cm}|}
\hline
&{\bf\gt パソコン}&{\bf\gt UNIXサーバ}\\
\hline
{\bf\gt 利用形態}&個人が占有&複数人で同時に共有\\
\hline
% {\bf\gt ＯＳ}& Windows 8, Windows 7, Vista, XP, Mac OS, MS-DOS などのシングルユーザ OS
% &UNIX, Linux, FreeBSD などのマルチユーザ OS
% \\
{\bf\gt ＯＳ} & Windows 8 & Solaris \\
& Windows 7 & Linux \\
%& Windows Vista & Linux \\
& Mac OS X など & FreeBSD など \\
\hline
{\bf\gt 価格}&数万～十数万円&数十万～数千万円\\
\hline
\end{tabular}
\end{center}
% \index{しんぐるゆーざOS@シングルユーザOS}
% \index{まるちゆーざOS@マルチユーザOS}
\index{UNIX}
\index{Windows 7}
\index{Windows 8}
\index{Mac OS X}
\index{FreeBSD}
\index{Linux}]
\index{Solaris}
% \index{Windows Vista}
% \index{Windows XP}
% \index{Windows Server 2003}

この章で解説するのは，情報ネットワークセンターにある教育研究用システム(UNIXサーバ) 
の利用法についてです．このシステムでは，OSとしてUNIXを採用しています
\footnote{
UNIXは，実際にはさまざまなOSの総称として使われます．
現在，情報ネットワークセンターに導入されているのは，
レッドハット社製の Red Hat Enterprise Linuxという
PC-UNIXの一種です．
}
．
教育研究用システム(UNIXサーバ)は山形大学のネットワーク(YUnet)に接続されている
ので，YUnetに接続されたコンピュータから利用することができます．情報処理
の授業では，
図\ref{パソコンからのUNIXサーバの利用}に示すように
ネットワークを介して教室のパソコンからUNIXサーバに
接続します．

\begin{figure}[bt]
\hfil
 \includegraphics[width=15cm]{7/PC-UNIX.eps}
\hfil
\caption{パソコンからのUNIXサーバの利用}
\label{パソコンからのUNIXサーバの利用}

\end{figure}

パソコンを使ってUNIXサーバに接続すると，パソコンへの入力がその
ままUNIXサーバに送られ，また，UNIXサーバからの出力がパ
ソコンの画面に出力されます．したがって，利用者は，UNIXサーバを
直接使う場合と同じような操作ができます．
このときの接続方法には，ssh, x11などの名称で呼ばれるプロトコル(接続手順)
があります
\footnote{sshは主に後述するコマンドラインで操作するときに使われます．x11
は，UNIXサーバのGUI環境を利用して，ウィンドウ操作するときに使い
ます．}
．

パソコンからUNIXサーバに接続するときには，接続先のUNIXサーバ
に付けられた名前(ホスト名)を指定する必要があります．
各キャンパスのUNIXサーバの名前とOSは，次のようになっています．
\begin{center}
\begin{tabular}{|l|l|l|} \hline
地区
& ホスト名 & OS \\ \hline
 小白川
 & ecsy-lx.kj.yamagata-u.ac.jp & Red Hat \\ \cline{1-2}
 米沢
 & ecsy-lx.yz.yamagata-u.ac.jp & Enterprise Linux\\ \hline
\end{tabular}
\end{center}

\index{ssh}
\index{x11}
\index{ほすとめい@ホスト名}


\subsection{ログインとログアウト}
一般的にパソコンは個人で占有して使うことを前提としているので，電源を入れれば
利用者を認証することなく
いつでも使える状態にできます．
これに対して，UNIXサーバは複数人で同時に使うことが
前提なので，ある利用者がコンピュータを使うときには，
利用の最初に「{\bf\gt ログイン} (login)」，最後に「{\bf\gt ロ
グアウト} (logout)」という操作をする必要があります．
\index{ろぐいん@ログイン}
\index{ろぐあうと@ログアウト}
\index{ゆーざめい@ユーザ名}
\index{ぱすわーど@パスワード}

ログインとは，「これから誰がコンピュータを利用するか」をコンピュータ
に対して指示する操作です．ログインするときは，「{\bf\gt ユーザ名} (user
name)」と「{\bf\gt パスワード}(password)」を指定する
必要があります．ユーザ名とは，そのコンピュータの利用者を互いに識別する
ための名前で，半角の英文字や数字などからなります．ユーザ名としては，
``tanaka'' ``yamamoto''のように実際の名前に近いものにすることが多いの
ですが，山形大学で授業に使うUNIXサーバの場合，ユーザ数が多いた
め，
学生番号を元にしたユーザ名やランダムなユーザ名が使われています．
パスワードとは，コンピュータにログインするときに使う{\bf 暗証番号}で，
8文字以上の半角英数字と記号からなります．パスワードを秘密にすることで，自分の名前で
他人がログインするのを防ぐことができます．
UNIXサーバを利用するときのユーザ名とパスワードは，
第\ref{パソコンの基本的な扱い方}章で述べたパソコンにログオンしたときのユー
ザ名とパスワードです．
UNIXサーバからパスワードの変更はできませんので，パスワードの変更
は，第\ref{パソコンの基本的な扱い方}章で説明した「パスワード変更」操作を
行ってください．

\subsection{UNIXでの操作：パソコンとの比較}

\begin{figure}[tb]
\hfil
 \includegraphics[width=9cm]{7/GUI-CUI.eps}
\hfil
\caption{GUIベースのOSとコマンドラインベースのOSの比較}
\label{GUIベースのOSとコマンドラインベースのOSの比較}
\end{figure}

これまで使ってきたWindowsでは，何か操作をしたい場合は，主に画面上の
図形をマウスで操作するという方式をとっていました．このような操作方法を
グラフィカルユーザインターフェース(Graphical User Interface: GUI)と呼びます．
これに対して，UNIXは，操作を指示する{\bf\gt コマンド}
を入力します\index{こまんど@コマンド}
\footnote{UNIX系OSにも，x11プロトコルによるGUIを使った環境(デスクトップ
環境，X Window system)があります．最近注目されているものとしては，
GNOME(GNU Object Model Environment)や，KDE(K Desktop Environment)などが
あります．}\index{GNOME}\index{KDE}
．
このようなコマンドによって操作するインターフェースをコマンドラインユーザインター
フェース(Command line User Interface: CUI)と呼びます．
例えば，あるファイル(hoge.txtなど)を削除する場合には，
次のようなコマンドを入力します(この章の記述で
は，下線の付いた部分はユーザの入力部分を表わします
\begin{quote}
\begin{screen} \tt
bash-3.2\$ \underline{rm hoge.txt[Enter] }\\
 \hfill  {\bf… rm hoge.txtと入力した後でEnterキーを押す．}
\end{screen}
\end{quote}
左に表示されている``{\tt bash-3.2\$}"は{\bf プロンプト}と言って，
コマンドの入力待ち状態のときに表示されます．プロンプトは
システムの標準では``[ユーザ名@ホスト名 カレントディレクトリ
\footnote{カレントディレクトリについては
\ref{sec:UNIXのファイルとディレクトリ}  UNIXのファイルとディレクトリで解説します．}
] \$"が
表示されますが．自分で自由に設定することも可能です．
\index{ぷろんぷと@プロンプト}
rmはremove(削除)の略で，「その後に指定したファイルを削除せよ」という
意味のコマンドです．ファイルの削除だけでなく，ファイルの表示や移動，エ
ディタの呼び出しなど，すべての操作をコマンドで行うことができます．
コマンド中心の操作体系は，コマンドを憶える煩わしさがある反面，習熟すれば
効率よく作業を行うことができます．
\index{rm@{\tt rm}}

図\ref{GUIベースのOSとコマンドラインベースのOSの比較}は，WindowsやMac OS
などのGUIベースのOSと
UNIXなどのコマンドラインベースのOSの比較です．
GUIを使う環境では，主にマウス(と，キーボード)を使ってコンピュータを操作し，
その内容がOSやアプリケーションソフト(ワープロなどのコンピュータ上
で動く一般のソフトウェア)に送られます．これに対して，UNIXでは，ユーザ
はキーボードを使ってコンピュータにコマンドを送ります．コンピュータ側で
は{\bf\gt シェル}{\bf\gt (shell)}と呼ばれるプログラムが動いて
いて，それがコマンドを解釈して実行します．
\index{しぇる@シェル}

\section{ASTEC-XによるUNIXサーバへの接続}
\label{sec:wscon}

それでは，UNIXサーバを使うための具体的な手順を見てみましょう．

最近のUNIXでは，GUI環境が一般的なこともあり，
GUI環境を提供するソフトウエア(ASTEC-X)による
UNIXサーバの利用法について解説します．
ただし，実習室の一部のパソコンにはASTEC-Xがインストールされていません．
この場合，フリーソフトウェアである
「Tera Term」を使用して
UNIXサーバを利用することになります．
こちらについては，
\ref{sec: TeraTermによるUNIXサーバへの接続}
を参照してください．

\begin{figure}[bt]
\hfil
 \includegraphics[width=10cm]{7/ASTEC-X.eps}
\hfil
\caption{ASTEC-Xのスタートメニューからの選択画面}
\label{ASTEC-Xのスタートメニューからの選択画面}
\end{figure}

\begin{operation}{UNIXサーバへのログイン}
\index{ろぐいん@ログイン}

\item 図\ref{ASTEC-Xのスタートメニューからの選択画面}に示すように，
スタートメニューから[ASTEC-X]フォルダの
[小白川Linux]または[米沢Linux]を左クリックします．
[小白川Linux]と[米沢Linux]のどちらを利用しても
同一のUNIXサーバ環境を利用できます．

\item ASTEC-Xの起動およびUNIXサーバへの接続が成功すると，
図\ref{ユーザ名を入力する}
のようなウィンドウが表示されます．

\item まず，ユーザ名を入力します．
ユーザ名を入れて，[Enter]キーを入力してください．

\item すぐにパスワードを入力するよう表示が変わります．
パスワードは入力しても，タイプした文字の代わりに``$\bullet$''が表示されます．
パスワードが他人から見られるのをこれで防いでいるわけです
(図\ref{パスワードを入力する})．

\item ログイン名とパスワードが正しければ，
図\ref{RHELの統合デスクトップ環境の画面}
のような画面になります．

ただし，この画面はあくまで一例です．
X Window Systemでは，
ウィンドウの外観や操作方法を決めるソフトウェアを自由に選べるので，
それによって表示が異なります．
%しかし，ログイン方法については，それほど違いがありません．

\item もし，ユーザ名やパスワードを間違ったときは，
図\ref{パスワードを間違えた場合の画面}のような画面が表示され，
もう一度，ユーザ名からの入力になります．
\end{operation}

\begin{figure}[bt]
 \hfil
 \includegraphics[width=9.5cm]{7/WSLoginUserName.eps}
 \hfil
\caption{ユーザ名を入力する}
\label{ユーザ名を入力する}
\end{figure}

\begin{figure}[bt]
\hfil
  \includegraphics[width=9.5cm]{7/WSLoginPassword.eps}
\hfil
\caption{パスワードを入力する}
\label{パスワードを入力する}

\end{figure}

\begin{figure}[bt]
\hfil
 \includegraphics[width=9.5cm]{7/RHELDesktop.eps}
\hfil
 \caption{Red Hat Enterprise Linuxの統合デスクトップ環境の画面}
\label{RHELの統合デスクトップ環境の画面}
\end{figure}

\begin{figure}[bt]
 \hfil
 \includegraphics[width=9.5cm]{7/LoginFail.eps}
 \hfil
\caption{パスワードを間違えた場合の画面}
\label{パスワードを間違えた場合の画面}
\end{figure}

これでUNIXサーバにログインできました．

UNIXサーバで作業を行うためには，コマンドを入力するための
端末エミュレータと呼ばれるプログラムを実行します．
端末エミュレータを利用することによって，
キーボードからコマンドを入力することができるようになります．

\begin{operation}[i]{端末エミュレータ（GNOME端末）の起動}

\item{} 
[アプリケーション]メニューの[アクセサリ]フォルダにある
[GNOME 端末]を左クリックすると，
ASTEC-Xのウィンドウの中に端末エミュレータのウィンドウが開きます．
(図\ref{Red Hat Enterprise Linuxの端末エミュレータの画面})
\end{operation}

\begin{figure}[bt]
\hfil
 \includegraphics[width=12cm]{7/GNOMEterm.eps}
\hfil
\caption{Red Hat Enterprise Linuxの端末エミュレータの画面}
\label{Red Hat Enterprise Linuxの端末エミュレータの画面}
\end{figure}

新しいウィンドウが表示され，
その中にプロンプトが表示されます．
これが端末エミュレータのウィンドウです．
端末エミュレータが起動したら，
そのウィンドウ(タイトルバーの部分でよい)をクリックしてください．
すると，端末エミュレータでコマンドが入力できるようになります．
この教科書では，いくつかのコマンドを使いますが，
すべて，このウィンドウに入力することになります．

ログインが完了し，端末エミュレータも起動できるようになりました．
これから本格的にUNIXを使っていきましょう$\cdots$と言いたいところですが，
その前に，もう１つ大切なことを覚えておきましょう．
それは，{\bf ログアウト}すなわち利用終了です．
\index{ろぐあうと@ログアウト}

この章の最初でもお話しましたが，
UNIXはマルチユーザのシステムです．
したがって，
多くの人が1台のコンピュータを同時に利用しています．
利用を終了したときには，
このことをコンピュータに伝えてあげなくてはなりません．
UNIXシステムは，
多くの人にサービスを提供しているので，
もし，あなたがログインしたままだと，
それだけシステムに負荷をかけることになります．

それでは，実際にログアウト作業をしてみましょう．

\begin{operation}{ログアウト}
\item X Window System のウィンドウマネージャや
統合デスクトップ環境を使っている場合は，
端末エミュレータのウィンドウを閉じただけでは
ログアウトできません．
ログアウトの方法は，システムによって異なりますが，
Red Hat Enterprise Linuxでは，
[システム]メニューの[username のログアウト] を選びます
(図\ref{メニューからログアウトを選ぶ})．

\item すると，確認のためのダイアログボックスが表示されるので，
そこで，[OK]をクリックします．
これで，ログアウトできます．
\end{operation}

\begin{figure}[bt]
\hfil
 \includegraphics[width=11cm]{7/Logout.eps}
\hfil
\caption{メニューからログアウトを選ぶ}
\label{メニューからログアウトを選ぶ}
\end{figure}


\section{UNIX入門}
\label{sec:UNIX入門}

\subsection{簡単なコマンドを使ってみよう}

ここではいくつかの簡単なコマンドを取り上げて，
その実行方法やデータの与え方について学びます．
具体的には，
\begin{itemize}
 \item 日付や時刻を表示するdateコマンド
 \item カレンダーを表示するcalコマンド
\end{itemize}　
を取り上げますが，
操作を通してコマンドの形式(書き方)についても理解するようにしましょう．


\subsubsection*{date コマンド}
今日の日付や今の時刻を表示してみましょう．
そのためには，{\bf date}コマンドを使います．

\begin{operation}[i]{dateコマンド}
\item 端末を開いて，``{\tt date[Enter]}” ([Enter]は[Enter]キーです．)を
キーボードから入力すると現在の日付，時刻が表示されます．
\begin{screen}
{\tt bash-3.2\$ \underline{date[Enter] }}  \hfill {\bf… date コマンドを実行．}\\
{\tt 2012年 2月 29日 水曜日 15:12:59 JST } \hfill {\bf… 現在の日付，時刻を表示．}\\
{\tt bash-3.2\$}  \hfill {\bf … コマンドプロンプトに戻って終了．}
 \end{screen}
\end{operation}

コマンドを間違えて入力してしまうと，
エラーメッセージが表示され，
プロンプトの表示に戻ります．

\begin{quote} 
\begin{screen} {\tt
bash-3.2\$ \underline{dete[Enter] } \hfill  {\bf… コマンド名を間違えて実行．}
\begin{verbatim}
-bash: dete: command not found 
\end{verbatim}
\hfill {\bf… deteというコマンドは見つからないというメッセージを表示．}

 bash-3.2\$ 
}\end{screen}
\end{quote}

入力途中でコマンド名の間違いに気づいた場合は，
[Back Space]キーや[Delete]キーで修正することができます．
また，以前に実行したコマンドを再度実行したい場合や
間違えて実行してしまったコマンドを修正したい場合は
上下のカーソルキーを使うと過去に入力したコマンドの
履歴を表示することができます．

\subsubsection*{cal コマンド}
今月のカレンダーを表示してみましょう．
カレンダーの表示には，
{\bf cal}コマンド(calendar)を使います．
コマンドを実行する方法は，
{\bf date}コマンドと同じで，コマンド名を入力するだけです．

\begin{operation}[i]{calコマンド (1)}
\item ``{\tt cal[Enter]}"とキーボードから入力すると
今月のカレンダーが表示されます．
\begin{screen} {\tt
bash-3.2\$ \underline{cal[Enter] } \hfill {\bf  … 今月のカレンダーを表示．}
\begin{verbatim}
      2月 2012
日 月 火 水 木 金 土 
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29         
\end{verbatim}
%bash-3.2\$
} \end{screen}
\end{operation}

calコマンドには，今月のカレンダーを表示するだけでなく，
特定の年月のカレンダーを表示する機能も備わっています．
そのためには，引数(ひきすう)と呼ばれる文字列を
コマンドのあとに指定します．
書式は以下のようになります．
\begin{quote}{\bf 
\$ \underline{cal 月 年}
}\end{quote}

年と月を指定する場合，
順序が，月，年の順になることに注意してください．
このcalコマンドのあとに指定する「月」や「年」の文字列が引数です．
つまり，この場合は``9''が第１引数，
``2012''が第2引数になります．
なお，コマンド名そのものも引数と考え，
これを第0引数として取り扱います．
\begin{operation}[i]{calコマンド (2)}
\item ``{\tt cal 9 2012[Enter]}"と入力すると
2012年9月のカレンダーを表示します．このとき``{\tt cal}"と``{\tt 9}"，
``{\tt 9}"と``{\tt 2012}"の間に[space]を入れます．
\begin{screen} {\tt
bash-3.2\$ \underline{cal 9 2012[Enter] }  \\
\hfill{\bf … 2012年9月のカレンダーを表示．}
\begin{verbatim}
      9月 2012
日 月 火 水 木 金 土 
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
\end{verbatim}
} \end{screen}
\end{operation}

なお，引数を１つだけにして実行すると引数で指定した年の一年間の
カレンダーを表示します．``cal 12"と実行すると，12月の
カレンダーでなく，西暦12年のカレンダーを表示してしまいますので
注意してください．


\subsection{UNIXのファイルとディレクトリ}
\label{sec:UNIXのファイルとディレクトリ}

Windowsと同様に
\footnote{歴史的には，Windowsの前身のMS-DOSが
UNIXのファイルとディレクトリを真似ています．
}
，UNIXにも{\bf\gt ファイル}と{\bf\gt ディレクトリ}
(Windowsのフォルダに相当する)があります．ファイルやディレクトリの
名前は(システムによっても異なりますが)255文字以内で，``/''という文字
(スラッシュ)以外ならばどの文字でも使うことができます．ただし，
\verb+?*'"<>|;\&+ %"
のような文字はファイル名の入力が面倒になりますので，
使わない方が無難です．Windowsと違って拡張子はアプリケーションと
連携しておらず，ピリオド``.''も通常の文字として利用できます．
\index{ふぁいる@ファイル}
\index{でぃれくとり@ディレクトリ}

UNIXのファイルシステムも，
ファイルを管理するのに適したように，
階層構造になっています．
階層構造というのは，
キャビネットや机の引き出しなどによる整理方法や
会社などの組織によく似ています．

\begin{figure}[tb]
\hfil
\includegraphics[scale=1.0]{7/715_FileAndDirectory.eps}
\hfil
\caption{UNIXのファイルとディレクトリ}
\label{UNIXのファイルとディレクトリ}
\end{figure}

図\ref{UNIXのファイルとディレクトリ}は，
UNIXのファイルとディレクトリの階層構造を示したものです．
階層構造の頂点は，{\tt /} (ルートディレクトリ)と呼ばれ，
そこから次々に枝分かれするような感じになっています．
この図からも分かるように，
UNIXでは，目的別，利用者別に
ファイルを整理できるようになっています．
\index{るーとでぃれくとり@ルートディレクトリ}

この例では，{\tt /}の下に
{\tt usr, bin, tmp, home1}の四つの
ディレクトリがあります．図の箱の上に書いてあるのは{\bf\gt 絶対パス名}と
呼ばれ，そのファイルやディレクトリを一意に書き表すための書き方です．例
えば，{\tt bin}というディレクトリは{\tt /}の下と
{\tt usr}の下に二つありますが，{\tt /}の下の
{\tt bin}は{\tt /bin}，{\tt usr}の下の{\tt bin}は{\tt /usr/bin
}という絶対パス名になるので，互いに区別できます．
\index{ぜったいぱすめい@絶対パス名}

絶対パス名を使えば，どのファイルやディレクトリでも指定することができ
ますが，複数のディレクトリの下にあるファイルを表わそうとすると，
パス名がやたらと長くなってしまいます(例えば{\tt /home1/u01/user01/src/test.txt}など)．
そこで使われる
のが{\bf\gt カレントディレクトリ}と{\bf\gt 相対パス名}です．
\index{かれんとでぃれくとり@カレントディレクトリ}
\index{そうたいぱすめい@相対パス名}

カレントディレクトリというのは，ディレクトリの階層構造の中で，現在作業
しているディレクトリのことを言います．例えば，
図\ref{UNIXのファイルとディレクトリ}の中の
{\tt /home1/u01/user01/src/}がカレントディレクトリの場合を考えてみましょう．
このディレクトリの下には
{\tt test.txt}というファイルがありますが，このファイルを指示するためには，
単に``{\tt test.txt}''と指定すればよいのです．これが相対パス名で，
この``{\tt test.txt}''という名前は「カレントディレクトリの下にある{\tt test.txt}」を示しています．
相対パス名を使うときには，次の指定を使うと便利なことがあります．

\begin{center}
 \begin{tabular}{*{2}{l}}
 {\tt  .}&カレントディレクトリを表わす
 \\
 {\tt ..}& カレントディレクトリの一つ上のディレクトリを表わす
 \\
 \end{tabular}
\end{center}
例えば，/home1/u01/user01/mail.txtはカレントディレクトリ/home1/u01/user01/srcの
一つ上のディレクトリ/home1/u01/user01にあるmail.txtというファイルですから，
相対パス名で書くと``../mail.txt"となります．

ログインした直後は，ユーザごとにカレントディレクトリが決まっています．
例えば，{\tt user01}というユーザなら
{\tt /home1/u01/user01}
という具合です．
この「ログイン直後に設定されるカレントディレクトリ」のことを{\bf\gt ホームディ
レクトリ}といいます．
\index{ほーむでぃれくとり@ホームディレクトリ}


\subsection{カレントディレクトリの確認とファイルの一覧を見る}

カレントディレクトリは，
{\bf pwd}コマンド(present working directory)
を使って知ることができます．
\index{pwd@{\tt pwd}}

\begin{operation}[i]{カレントディレクトリを調べる}
\item ``{\tt pwd[Enter]}"と入力すると
カレントディレクトリを絶対パス名で表示します．
\begin{screen} {\tt
bash-3.2\$ \underline{pwd[Enter] } \hfill {\bf … pwd コマンドを実行．}\\
/home1/u01/user01 \hfill {\bf … カレントディレクトリの絶対パス名を表示．}

} \end{screen}
\end{operation}

カレントディレクトリの確認ができたら，
次にファイルの一覧を見てみましょう．
そのためのコマンドは，{\bf ls}コマンド(list)です．

\begin{operation}[i]{ファイルの一覧を表示する}
\item ``{\tt ls -a[Enter]}"と入力すると
カレントディレクトリにあるファイルの一覧が表示されます．
\begin{screen} {\tt
bash-3.2\$ \underline{ls -a[Enter] }  \\
\hfill {\bf … ls コマンドを-aオプションを付けて実行．}
\begin{verbatim}
.              .bashrc      .gnome             .mozilla
..             .chewing     .gnome2            .nautilus
.ICEauthority  .dmrc        .gnome2_private    .redhat
.Trash         .eggcups     .gstreamer-0.10    .scim
.anthy         .emacs       .gtkrc-1.2-gnome2  .zshrc
.bash_history  .fontconfig  .kde               Desktop
.bash_logout   .gconf       .lesshst
.bash_profile  .gconfd      .metacity
\end{verbatim} 
} \end{screen}
\end{operation}

``{\tt ls}''コマンドに``{\tt -a}"オプションを付けて実行すると，
通常は表示されない隠しファイル(.で始まるファイル)も表示します．
隠しファイルまで表示すると，先ほど説明した
カレントディレクトリと親ディレクトリが存在することがわかります．

lsコマンドには，
様々なオプション(引数)を指定して実行することができます．
代表的なオプションとして，次のようなものがあります．

\begin{center}
\begin{tabular}{|p{3cm}|p{12cm}|}
\hline
{\bf\gt オプション}&\hfil{\bf\gt 動作}\hfil\\
\hline
{\tt -F}&ディレクトリの名前の後に``/''，実行可能ファイルの後に``*''を付けて表示する\\
\hline
{\tt -a}&隠しファイル(.で始まるファイル)も表示する\\
\hline
{\tt -l}&ファイルモード(ファイルに対する読み書きの権限)，
 ファイルの所有者，ファイルの大きさ，作成年月日も表示する\\
\hline
{\tt -g}&ファイル所有者のグループを表示する\\
\hline
{\tt -R}& 表示されたディレクトリの中にあるファイルまで再帰的に調べて表示する\\
\hline
{\tt --help}&簡単な使い方やオプションの説明を表示する\\
\hline
\end{tabular}
\end{center}
\index{ふぁいるもーど@ファイルモード}

コマンドの詳細なオプションや使い方を知りたいときは，
{\bf man}コマンド(manual)のオプションに
調べたいコマンドを引数として与えて実行することで
オンラインマニュアルを見ることができます．
\index{おぷしょん@オプション}

\begin{operation}{オンラインマニュアルを表示する}
\item ``{\tt man ls[Enter]}”と入力すると
ls コマンドのオンラインマニュアルが表示されます．
\begin{screen} {\tt
bash-3.2\$ \underline{man ls[Enter] } \\
\hfill {\bf … lsコマンドのオンラインマニュアルを見る．}
\begin{verbatim}
LS(1)                                            LS(1)
名前
       ls, dir, vdir - ディレクトリの中身をリスト表示する
書式
       ls [options] [file...]
       :
\end{verbatim}
} \end{screen}
\item 表示されたオンラインマニュアルは{\tt [space]}キーで1ページ先へ，
{\tt [Back Space]}キーで1ページ前へ送ることができます．
上下カーソルキーでも移動できます．
\item 表示を終了したいときは``{\tt q}"キーを押して終了します．
\end{operation}

\subsection{ディレクトリの作成とディレクトリの移動}

ファイルを効率よく管理するためには，
ディレクトリを作成することが大切です．
ディレクトリの作成は，
{\bf mkdir}コマンド(make directory)を使い，
引数に作成したいディレクトリ名を指定します．
\index{mkdir@{\tt mkdir}}

\begin{operation}{ディレクトリの作成}
\item ``{\tt ls -F[Enter]}"と入力して，
カレントディレクトリにあるファイルの一覧を見ます．
\item srcという名前のファイルかディレクトリがないことを確認します．
すでに存在しているところに作成するとエラーになります．
\item ``{\tt mkdir src[Enter]}"と入力して
``src"という名前のディレクトリを作成します．
\item もう一度``{\tt ls -F[Enter]}"と入力して
srcディレクトリができていることを確認します．
\begin{screen} 
{\tt bash-3.2\$ \underline{ls -F[Enter] } }  \\
{\tt Desktop/} \hfill {\bf … カレントディレクトリにsrcというファイルがないことを確認．}
{\tt bash-3.2\$ \underline{mkdir src[Enter] }} \hfill {\bf … srcディレクトリを作成．}

{\tt bash-3.2\$ \underline{ls -F[Enter] } }\\
{\tt Desktop/  src/ } \hfill  {\bf … srcディレクトリが作成されたことを確認．} 
 \end{screen}
\end{operation}

次に，
カレントディレクトリをsrcディレクトリに移動してみましょう．
カレントディレクトリを移動するときは，
{\bf cd}コマンド(change directory)を使います．

\begin{operation}{ディレクトリの移動}
\item ``{\tt pwd[Enter]}"と入力して，
カレントディレクトリを確認します．
\item ``{\tt cd src[Enter]}"と入力して，先程作成したsrcディレクトリに移動します．
\item ``{\tt pwd[Enter]}"と入力して
カレントディレクトリが移動したか確認します．
\item 次に元のディレクトリに戻ります．``{\tt cd ..[Enter]}"と入力します．
\item ``{\tt pwd[Enter]}"と入力して
カレントディレクトリが元に戻っていることが確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{pwd[Enter] } \hfill {\bf … カレントディレクトリを確認．} 

/home1/u01/user01

bash-3.2\$ \underline{cd src[Enter] }  \hfill{\bf … srcディレクトリに移動．}

[user01@hostname src{}]\$ \underline{pwd[Enter] } \hfill {\bf … srcに移動していることを確認．} 

/home1/u01/user01/src 

 [user01@hostname src{}]\$ \underline{cd ..[Enter]} \hfill {\bf  … 一つ上のディレクトリに移動．}

bash-3.2\$ \underline{pwd[Enter] } \hfill {\bf … カレントディレクトリを確認．} 

/home1/u01/user01
} \end{screen}
\end{operation}


\subsection{ファイルのコピー・移動・削除}

日常の仕事などにおいても，
文章をコピーしたり配布したり，
控えを取っておいたりすることは，ごく普通に行われます．
コンピュータを使う場合でも，それは同じことです．

\subsubsection*{ファイルのコピー: cpコマンド}

では，コピーに使う{\bf cp}コマンド(copy)の使い方を見ていきましょう．

cpコマンドの書式は以下のとおりです．
\begin{quote} {\bf 
\$ \underline{cp コピー元 コピー先}
}\end{quote}
コピー先のファイルが既にある場合，もともとあったコピー先の
ファイルはコピー元のファイルで
上書きされて消えてしまいますので，注意してください．

\begin{operation}{ファイルのコピー}
\item まずコピー元のダミーファイルを作成します．
端末を開いて，``{\tt touch test.txt[Enter]}"と入力すると，
test.txtというダミーファイル（中身が空のファイル）が作成されます．
\item ``{\tt ls[Enter]}"と入力して，test.txtが作成されていることを確認します．
\item ``{\tt cp test.txt test2.txt[Enter]}"と入力しますと，
test.txtをコピーしたファイルtest2.txtが作成されます．
\item もう一度 ``{\tt ls[Enter]}"と入力して，test2.txtが作成されていることを確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{cd src[Enter]} \hfill {\bf … 作業用のsrcディレクトリに移動．} 

bash-3.2\$ \underline{touch test.txt[Enter] } \hfill {\bf … test.txtを作成．}

bash-3.2\$ \underline{ls[Enter] } \\
test.txt \hfill {\bf … test.txtができていることを確認．}

bash-3.2\$ \underline{cp test.txt test2.txt[Enter] }\\
  \hfill {\bf … test.txtをtest2.txtにコピー．}

bash-3.2\$  \underline{ls[Enter]} \\
test.txt  test2.txt} \hfill {\bf  … test2.txtができている．}
\end{screen}
\end{operation}

ファイルのコピーはコピー元のファイルがないことには，
コピーすることができません．今回コピー元のファイルがありませんでしたので，
おまじない(touchコマンド)を行い，ダミーのファイルを作成しました．

\subsubsection*{ファイルの移動: mvコマンド}

次にファイルを移動してみましょう．
ファイルの移動には，{\bf mv}コマンド(move)を使います．
\index{mv@{\tt mv}}
{\bf mv}コマンドも{\bf cp}コマンドと同じような使い方ですが，
移動元のファイルが消えるという点で{\bf cp}コマンドと異なっています．
書式も{\bf cp}コマンドと同様に
\begin{quote} {\bf 
\$ \underline{mv 移動元 移動先}
}\end{quote}
となっています．
{\bf mv}コマンドは，ファイル名を変更するのにも使われます．

\begin{operation}{ファイルの移動}
\item ``{\tt ls[Enter]}"と入力して，test2.txtが作成されていることを確認します．
\item ``{\tt mv test2.txt test3.txt[Enter]}"と入力すると，
test2.txtがtest3.txtへ移動（ファイル名を変更）されます．
\item もう一度 ``{\tt ls[Enter]}"を入力して，test2.txtがなくなって
test3.txtが作成されていることを確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{ls[Enter]} \hfill {\bf … ファイルに一覧を表示．}\\
test.txt  test2.txt

bash-3.2\$ \underline{mv test2.txt test3.txt[Enter] }\\
  \hfill {\bf … test2.txtをtest3.txtに移動（ファイル名を変更）．}

bash-3.2\$ \underline{ls[Enter]} \\
test.txt  test3.txt} \hfill {\bf  … test2.txtがtest3.txtに変更された．}
\end{screen}
\end{operation}

\subsubsection*{ファイルの削除: rmコマンド}
次に，ファイルを削除してみましょう．
ファイルを削除するには，{\bf rm}コマンド(remove)を使います．
\index{rm@{\tt rm}}

\begin{operation}{ファイルの削除}
\item ``{\tt ls[Enter]}"と入力して，test.txtがあることを確認します．
\item ``{\tt rm test.txt[Enter]}"と入力すると，
test.txtが削除されます．
\item もう一度 ``{\tt ls[Enter]}"と入力して，test.txtが削除されていることを確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{ls[Enter]} \hfill {\bf … ファイルに一覧を表示．}\\
test.txt  test3.txt \hfill {\bf … test.txtがあることを確認．}

bash-3.2\$ \underline{rm test.txt[Enter] }  \hfill {\bf … test.txtを削除．}

bash-3.2\$ \underline{ls[Enter]} \\
test3.txt} \hfill {\bf  … test.txtが削除された．}
\end{screen}
\end{operation}

UNIXはWindowsと違い，「ごみ箱」がありませんので，一度削除してしまった
ファイルを復活させることはできません．削除しても大丈夫か十分確認してから
削除するようにしてください．

\subsection{プログラムを書いてみよう}

画面に「Hello World!!」と表示するプログラムを書いてみましょう． 
プログラムを記述するときは，プログラミング言語が必要になります．
ここではandroid端末のアプリ開発にも使用されているJava言語を使用して記述してみましょう．

\begin{operation}{エディタの起動}

\item ``{\tt cd \textasciitilde/src}''と入力して
	カレントディレクトリをsrcディレクトリにします．
	(\textasciitilde はチルドまたはチルダと読みます．)

\item ``{\tt gedit HelloWorld.java \&}''と入力して
	エディタgedit（ジーエディット）を起動します． 
	起動すると図\ref{fig:エディタgeditの起動画面}に示すような画面が表示されます．

\begin{screen} {\tt
bash-3.2\$ \underline{cd \textasciitilde/src[Enter]} \hfill {\bf …
srcディレクトリに移動}\\
bash-3.2\$ \underline{gedit HelloWorld.java \&[Enter] }  \hfill {\bf …
エディタを起動}}
\end{screen}
\end{operation}

\begin{figure}[tb]
\hfil
\includegraphics[width=120mm]{7/gedit2.eps}
\hfil
\caption{エディタgeditの起動画面}
\label{fig:エディタgeditの起動画面}
\end{figure}

\begin{operation}{プログラムコード入力，保存，エディタ終了}

\item エディタのHelloWorld.javaウィンドウに，
 下記のようなプログラムコードを入力します．
(図\ref{155428_17Feb14})

\begin{screen}
\begin{verbatim}
public class HelloWorld {
    public static void main (String[] atgs) {
        System.out.println("Hello World !!");
    }
}
\end{verbatim}
\end{screen}

\item ~[Ctrl]キーを押しながら[S]キーを押すと，保存されます．

\item ~[Ctrl]キーを押しながら[Q]キーを押すと，エディタが終了します．
\end{operation}


\begin{figure}[tb]
\hfil
 \includegraphics[width=120mm]{7/program2.eps}
\hfil
\caption{プログラムコードの入力画面}
\label{155428_17Feb14}
\end{figure}

\begin{operation}{プログラムのコンパイルと実行}
\item 端末エミュレータのウィンドウで，
	``{\tt javac HelloWorld.java}''
	と入力し，コンパイルします．

\item ``{\tt java HelloWorld}''
	と入力し，プログラムを実行します．
	
\item　図\ref{fig:プログラムのコンパイルと実行}のように
	「Hello World !!」と表示されることを確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{javac HelloWorld.java[Enter]} \hfill
{\bf … プログラムコードのコンパイル}\\
bash-3.2\$ \underline{java HelloWorld[Enter]}\hfill{\bf …プログラムの実行}\\
Hello World !!\hfill{\bf …``Hello World !!''と表示されれば正常動作}
}
\end{screen}
\end{operation}

\begin{figure}[tb]
\hfil
 \includegraphics[width=120mm]{7/program4.eps}
\hfil
\caption{プログラムのコンパイルと実行}
\label{fig:プログラムのコンパイルと実行}
\end{figure}

\subsection{科学技術文書の作成}

第\ref{Chap:文書の作成とプレゼンテーション}章では，ワープロを使って
文書を作成する方法について学びました．ワープロは一応どんな文書でも作れますが，
科学技術文書（特に数式が多用される論文など）を書くときには，
\LaTeX\footnote{「ラテック」「ラテフ」などと読まれているようです．なお，
アメリカ人は「レイテック」，ドイツ人は「ラーテッヒ」と読んでいるらしいです．
}
という文書処理システムがよく使われています．ここでは，
その概要について簡単に説明します．

\TeX\footnote{
このシステムの名前が``TEX''でなく``\TeX''なのは，TEX
という他のソフトウェアが既に存在したためだといいます．
}は，有名なアルゴリズム学者Donald
E. Knuthが開発した文書処理システムです．
「文書処理」というのは，
文書を見ばえ良く印刷する，といった意味あいです．ですから，
\TeX はいわゆるワープロのやっている作業と似たようなことをするわけです．
\LaTeX は，
Leslie Lamportが開発した，\TeX の上で動くマクロパッケージです．
\TeX よりも
\LaTeX の方が使いやすいので，最近では多くの人が
\LaTeX を使っています．

ワープロと比較した
\TeX/\LaTeX の特徴は，「マークアップ型」なことです．これは，文書の中にいろいろな効果
---``太字''のような字の太さとか，``大きい字''のような字の大きさ，など---
を指定するコマンド(命令)を書いてしまうということです．
ちなみに，
\begin{center}
 普通のサイズの文字と{\large 大きい文字}を書分けます．
\end{center}
という文を\LaTeX では
\begin{center}
 普通のサイズの文字と
 \verb|{\large| 大きい文字\verb|}|を書分けます．
\end{center}
と書きます．
``\verb|{}|''で囲った箇所にある
\verb|\large| がコマンドです．
また，
\begin{displaymath}
    \frac{1}{\sqrt{2\pi}\sigma}
    \int_{-\infty}^{x}
    e^{-\frac{u^2}{2\sigma^2}}du
\end{displaymath}
は，
\begin{verbatim}
    \[
    \frac{1}{\sqrt{2\pi}\sigma}
    \int_{-\infty}^{x}
    e^{-\frac{u^2}{2\sigma^2}}du
    \]
\end{verbatim}
などと書きます．

こういう記述の入ったファイルを一旦作った後，
このファイルを
(情報ネットワークセンターのワークステーションで処理する場合)
% latex や jlatex 
platexというシェルのコマンドで処理し，
その後さらに別なコマンドで画面表示やプリンタ出力を実行します．
ワープロのように
「同じ画面で全部の作業をする」というわけにいかないので，
慣れないとちょっと面倒です．
そのかわり，
論文や本の出版などのための本格的な文書処理機能を
数多く提供しています．

\LaTeX 独自の特徴としては，「文書の構造を記述する」というものがあります．
これは，文書を書くときに，章，節，図，表などの番号を直接指定せず，
「ここは章」「ここは節」といった記述をするものです．章や節の具体的な番号は，
\LaTeX が自動的に割りふってくれます．

\LaTeX の詳しい使い方については，
さまざまな入門書が出版されていますので，
そちらを参照してください．

UNIXサーバでは，\LaTeX が使えるようになっていますので，
ここで実際に \LaTeX で数式の入った簡単な文書を作成してみましょう．

\begin{operation}{\LaTeX による数式の記述}
\item ``{\tt gedit Math.tex \&}''と入力して
	エディタgeditを起動します． 
\item 下記のような\LaTeX コードを入力します．(図\ref{fig:LaTeXコードの入力画面})
\begin{screen}
\begin{verbatim}
\documentclass{jarticle}
\begin{document}
次式は正規分布$N(0, \sigma^2)$の確率分布関数です．
\[
\frac{1}{\sqrt{2\pi}\sigma}
\int_{-\infty}^{x}
e^{-\frac{u^2}{2\sigma^2}}du
\]
\end{document}
\end{verbatim}
\end{screen}

\item \relax[Ctrl]キーを押しながら[S]キーを押すと，保存されます．
\item \relax[Ctrl]キーを押しながら[Q]キーを押すと，エディタが終了します．
\end{operation}

\begin{figure}[tb]
\hfil
\includegraphics[width=10cm]{7/latexCode2.eps}
\hfil
\caption{\LaTeX コードの入力画面}
\label{fig:LaTeXコードの入力画面}
\end{figure}

\begin{operation}{\LaTeX ファイルのコンパイルとプレビュー}
\item 端末エミュレータのウィンドウで，
	``platex Math.tex''
	と入力し，コンパイルします．

\item 図\ref{fig:LaTeXファイルのコンパイル}に示すように，
	「Output written on Math.dvi」と表示されるとコンパイル成功です．
\item ``pxdvi Math.dvi \&''
	と入力して，文章のプレビューを表示します．
\item 図\ref{fig:LaTeX文書のプレビュー}のように表示されることを確認します．

\begin{screen} {\tt
bash-3.2\$ \underline{platex Math.tex[Enter]} \hfill
{\bf … \LaTeX コードのコンパイル}\\
\hfil$\vdots$\hfil\hfil\\
\hfil 処理状況が出力される\hfil\hfil\\
\hfil$\vdots$\hfil\hfil\\
bash-3.2\$ \underline{pxdvi Math.dvi \&[Enter]}\hfill{\bf …文書のプレビュー}
}
\end{screen}
\end{operation}

\begin{figure}[tb]
\hfil
\includegraphics[width=10cm]{7/latexCompile2.eps}
\hfil
\caption{\LaTeX ファイルのコンパイル}
\label{fig:LaTeXファイルのコンパイル}
\end{figure}

\begin{figure}[tb]
\hfil
\includegraphics[width=10cm]{7/latexPreview.eps}
\hfil
\caption{\LaTeX 文書のプレビュー}
\label{fig:LaTeX文書のプレビュー}
\end{figure}

\subsection{より高度なUNIXの利用}

このテキストでは，初心者がコマンドラインによるUNIXに触れていただく
ための解説してきました．
通常の文章作成や表計算などでは，UNIXを利用することは少ないですが，
特に理工系の学生さんは，研究室に所属すると数値計算やシミュレーションといった
膨大な時間を必要とする計算を行うこともあります．
このようなときに，UNIXや大型計算機などの
マルチタスクに対応したコンピュータを利用することになります．
そのためには，より高度なUNIXの使い方を学ぶ必要があります．
このテキストでは入門編ということで，ファイルの操作についてのみ
解説してきましたが，他のコマンドやエディターの使い方，
マルチタスクの利用方法などについては参考書を紹介しますので，
興味のある人は試してみてください．
\begin{enumerate}
 \item 羽山　博著，入門UNIX改訂新版, 株式会社アスキー
 \item 高町 健一郎, 大津 真, 佐藤 竜一, 小林 峰子, 安田 幸弘著，
       Linuxの教科書—ホントに読んでほしいroot入門講座，
       アイ・ディ・ジー・ジャパン
\end{enumerate}

\end{thisdocument}


\section{Tera TermによるUNIXサーバへの接続}
\label{sec: TeraTermによるUNIXサーバへの接続}
ASTEC-Xがインストールされていないパソコンの場合，
フリーソフトウェアである
「Tera Term」を使用してUNIXサーバを利用することができます．
ここではTera Termを使用し
たUNIXサーバの利用法を解説します．

\begin{figure}[tb]
\hfil
\includegraphics[width=8cm]{7/TeraTerm.eps}
\hfil
\caption{Tera Termのスタートメニューからの選択画面}
\label{fig:Tera Termのスタートメニューからの選択画面}
\end{figure}

\begin{operation}{Tera Term の起動}

\item 図\ref{fig:Tera Termのスタートメニューからの選択画面}
に示すように，
スタートメニューから「Tera Term」フォルダの
「Tera Term」を左クリックします．

\item Tera Termを起動すると，「新しい接続」というウィンドウが開いて
接続するUNIXサーバの選択をします．

「ホスト」のコンボボックスの下矢印マークを左クリックすると，
図\ref{fig:Tera Termの接続ホストの選択画面}
に示すようなプルダウンリストメニューの
画面が表示されます．
情報ネットワークセンターでは，
\begin{itemize}
 \item ecsy-lx.kj.yamagata-u.ac.jp    (小白川キャンパス)
 \item ecsy-lx.yz.yamagata-u.ac.jp   (米沢キャンパス)
\end{itemize}
が利用可能です．

\item ホストを選択して[OK]を左クリックすると，図\ref{fig:Tera Termのログイン画面}
のようなログイン画面が表示されますので，ユーザ名とパスフレーズを入力します．
「ユーザ名」と「パスフレーズ」には，
情報ネットワークセンターのパソコンにログオンするときの
「ユーザ名」と「パスワード」を入力します．
入力したら[OK]ボタンを左クリックしてください．
\item ログインが完了しますと，図\ref{fig:Tera Termのログイン完了画面}
のような画面になります．
\end{operation}

これで，Tera TermからUNIXサーバが利用できるようになりました
\footnote{初めてTera TermでUNIXサーバに接続するときには，
「セキュリティ勧告」のウィンドウが開きます．
そのときはそのまま[続行(C)]を左クリックしてホストを登録しますと
次回から表示されなくなります．}
．
UNIXの使い方については\ref{sec:UNIX入門}を参照してください．

\begin{figure}[tb]
\hfil
\includegraphics[width=8cm]{7/TeraTermHost.eps}
\hfil
\caption{Tera Termの接続ホストの選択画面}
\label{fig:Tera Termの接続ホストの選択画面}
\end{figure}

\begin{figure}[tb]
\hfil
\includegraphics[width=8cm]{7/TeraTermUser.eps}
\hfil
\caption{Tera Termのログイン画面}
\label{fig:Tera Termのログイン画面}
\end{figure}

\begin{figure}[tb]
\hfil
\includegraphics[width=8cm]{7/TeraTermLogin.eps}
\hfil
\caption{Tera Termのログイン完了画面}
\label{fig:Tera Termのログイン完了画面}
\end{figure}

UNIXサーバでの作業が終了したら，
ログアウト作業をして，
作業終了をUNIXサーバに知らせる必要があります．

\begin{operation}[i]{Tera Termでのログアウト}
\item 図\ref{fig:Tera Termのログアウト操作の画面}のように，
Tera Term内で「logout」と入力して，エンターキーを打ちます．
\end{operation}

これで，Tera Termによるログイン，ログアウト作業は終了です．


\begin{figure}[tb]
\hfil
\includegraphics[width=8cm]{7/TeraTermLogout.eps}
\hfil
\caption{Tera Termのログアウト操作の画面}
\label{fig:Tera Termのログアウト操作の画面}
\end{figure}

